Methods and devices for selecting objects in images

ABSTRACT

Methods and devices for selecting objects in images are described. In one example aspect, a method includes: receiving stereoscopic image data, the stereoscopic image data includes a first image obtained from a first camera and a second image obtained from a second camera; identifying an object in the first image by analyzing the first image and the second image; displaying the first image, the identified object in the first image being selectable.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.13/406,595 filed Feb. 28, 2012. The entirety of the above-referencedapplication is incorporated herein by reference.

TECHNICAL FIELD

The present disclosure relates to image manipulation, and moreparticularly, to methods and electronic devices for selecting objects inimages.

BACKGROUND

Electronic devices such as smartphones and tablet computers may beequipped with an application to manipulate images. For example, an imageediting application may allow a user to manipulate an image by changingproperties associated with the image. The image editing application may,for example, allow a user to modify the visual properties of the imageby removing portions of the image, changing the colour of portions ofthe image, adding graphics to the image, etc.

An image editing application may not provide a user with an easy way ofselecting objects within an image for manipulating the image. An objectmay include an identifiable item, such as an individual, within animage. A user desiring to select an object within an image may have tomanually outline the boundaries around the object in order to select theobject. This can be a cumbersome process and may not accurately capturethe whole object within the image.

BRIEF DESCRIPTION OF THE DRAWINGS

Reference will now be made, by way of example, to the accompanyingdrawings which show an embodiment of the present application, and inwhich:

FIG. 1 is a block diagram illustrating an example electronic device inaccordance with example embodiments of the present disclosure;

FIG. 2 is a front view of an example smartphone in accordance withexample embodiments of the present disclosure;

FIG. 3 is a rear view of the example smartphone of FIG. 2;

FIG. 4 is a flowchart illustrating an example method of allowingselection of an identified object in an image in accordance with exampleembodiments of the present disclosure;

FIG. 5 is a flowchart illustrating another example method of allowingselection of an identified object in an image in accordance with exampleembodiments of the present disclosure; and

FIG. 6 is an example image displayed on the example smartphone of FIG. 2in accordance with example embodiments of the present disclosure.

Like reference numerals are used in the drawings to denote like elementsand features.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

In one example aspect, the present application describes a methodimplemented by a processor of an electronic device for allowingselection of an object in an image. The method includes: receivingstereoscopic image data, the stereoscopic image includes a first imageobtained from a first camera and a second image obtained from a secondcamera; identifying an object in the first image by analyzing the firstimage and the second image; displaying the first image, the identifiedobject in the first image being selectable.

In another example aspect, the present application describes anelectronic device. The electronic device includes a memory, a display, afirst camera, a second camera, and a processor coupled with the memory,the display, the first camera, and the second camera. The processor isconfigured to: receive stereoscopic image data, the stereoscopic imagedata includes a first image obtained from the first camera and a secondimage obtained from the second camera; identifying an object in thefirst image by analyzing the first image and the second image; displaythe first image on the display, the identified object in the first imagebeing selectable.

In yet another example aspect, the present application describes acomputer readable storage medium. The computer readable storage mediumincludes computer executable instructions for allowing selection of anobject in an image. The computer executable instructions includesinstructions for: receiving stereoscopic image data, the stereoscopicimage data includes a first image obtained from a first camera and asecond image obtained from a second camera; identifying an object in thefirst image by analyzing the first image and the second image;displaying the first image, the identified object in the first imagebeing selectable.

Other example embodiments of the present disclosure will be apparent tothose of ordinary skill in the art from a review of the followingdetailed description in conjunction with the drawings.

Example embodiments of the present disclosure are not limited to anyparticular operating system, electronic device architecture, serverarchitecture or computer programming language.

Example Electronic Device

Reference is first made to FIG. 1 which illustrates an exampleelectronic device 201 in which example embodiments described in thepresent disclosure can be applied. In the example embodimentillustrated, the electronic device 201 is a mobile communication device.That is, the electronic device 201 is configured to communicate withother electronic devices, servers and/or systems (i.e. it is a“communication” device) and the electronic device 201 is portable andmay be easily moved between different physical locations (i.e. it is a“mobile” device). However, in other example embodiments, the electronicdevice 201 may not be portable (i.e. may not be a “mobile” device)and/or may not be configured to communicate with other systems (i.e. maynot be a “communication” device).

Depending on the functionality provided by the electronic device 201, invarious example embodiments the electronic device 201 may be amultiple-mode communication device configured for both data and voicecommunication, a mobile telephone such as a smartphone, a wearablecomputer such as a watch, a tablet computer such as a slate computer, apersonal digital assistant (PDA), or a computer system. The electronicdevice 201 may take other forms apart from those specifically listedabove. The electronic device 201 may also, in various exampleembodiments, be referred to as a mobile communications device, acommunication device, a mobile device, an electronic device and, in somecases, as a device.

The electronic device 201 includes a controller including at least oneprocessor 240 (such as a microprocessor) which controls the overalloperation of the electronic device 201. The processor 240 interacts withdevice subsystems such as a wireless communication subsystem 211 forexchanging radio frequency signals with a wireless network 101 toperform communication functions. The processor 240 may be communicablycoupled with additional device subsystems including one or more outputinterfaces 205 (such as a display 204 and/or a speaker 256), one or moreinput interfaces 206 (such as a first camera 253 a, a second camera 253b, a microphone 258, a keyboard (not shown), control buttons (notshown), a touch-sensitive overlay (not shown) associated with atouchscreen display and/or other input interfaces 206), memory (such asflash memory 244, random access memory (RAM) 246, read only memory (ROM)248, etc.), auxiliary input/output (I/O) subsystems 250, a data port 252(which may be a serial data port, such as a Universal Serial Bus (USB)data port), a short-range wireless communication subsystem 262 and otherdevice subsystems generally designated as 264. Some of the subsystemsshown in FIG. 1 perform communication-related functions, whereas othersubsystems may provide “resident” or on-device functions.

In at least some example embodiments, the electronic device 201 mayinclude a touchscreen display which acts as both an input interface 206(i.e. touch-sensitive overlay) and an output interface 205 (i.e.display). The touchscreen display may be constructed using atouch-sensitive input surface which is connected to an electroniccontroller and which overlays the display 204. The touch-sensitiveoverlay and the electronic controller provide a touch-sensitive inputinterface 206 and the processor 240 interacts with the touch-sensitiveoverlay via the electronic controller.

The electronic device 201 may include a communication subsystem 211which allows the electronic device 201 to communicate over a wirelessnetwork 101. The communication subsystem 211 includes a receiver 212, atransmitter 213, and associated components, such as one or more antennaelements 214, 215, local oscillators (LOs) 216, and a processing modulesuch as a digital signal processor (DSP) 217. The antenna elements 214,215 may be embedded or internal to the electronic device 201 and asingle antenna may be shared by both receiver 212 and transmitter 213.The particular design of the wireless communication subsystem 211depends on the wireless network 101 in which the electronic device 201is intended to operate.

In at least some example embodiments, the electronic device 201 maycommunicate with any one of a plurality of fixed transceiver basestations of the wireless network 101 within its geographic coveragearea. The electronic device 201 may send and receive communicationsignals over the wireless network 101 after the required networkregistration or activation procedures have been completed. Signalsreceived by the antenna 214 through the wireless network 101 are inputto the receiver 212, which may perform such common receiver functions assignal amplification, frequency down conversion, filtering, channelselection, etc., as well as analog-to-digital (A/D) conversion. A/Dconversion of a received signal allows more complex communicationfunctions such as demodulation and decoding to be performed in the DSP217. In a similar manner, signals to be transmitted are processed,including modulation and encoding, for example, by the DSP 217. TheseDSP-processed signals are input to the transmitter 213 fordigital-to-analog (D/A) conversion, frequency up conversion, filtering,amplification, and transmission to the wireless network 101 via theantenna 215. The DSP 217 not only processes communication signals, butmay also provide for receiver 212 and transmitter 213 control. Forexample, the gains applied to communication signals in the receiver 212and the transmitter 213 may be adaptively controlled through automaticgain control algorithms implemented in the DSP 217.

In at least some example embodiments, the auxiliary input/output (I/O)subsystems 250 may include an external communication link or interface;for example, an Ethernet connection. The electronic device 201 mayinclude other wireless communication interfaces for communicating withother types of wireless networks; for example, a wireless network suchas an orthogonal frequency division multiplexed (OFDM) network. Theauxiliary I/O subsystems 250 may include a vibrator for providingvibratory notifications in response to various events on the electronicdevice 201 such as receipt of an electronic communication or incomingphone call, or for other purposes such as haptic feedback (touchfeedback).

In at least some example embodiments, the electronic device 201 alsoincludes a removable memory module 230 (which may be flash memory, suchas a removable memory card) and a memory interface 232. Network accessmay be associated with a subscriber or user of the electronic device 201via the memory module 230, which may be a Subscriber Identity Module(SIM) card for use in a GSM network or other type of memory card for usein the relevant wireless network type. The memory module 230 is insertedin or connected to the memory card interface 232 of the electronicdevice 201 in order to operate in conjunction with the wireless network101.

The data port 252 may be used for synchronization with a user's hostcomputer system (not shown). The data port 252 enables a user to setpreferences through an external device or software application andextends the capabilities of the electronic device 201 by providing forinformation or software downloads to the electronic device 201 otherthan through the wireless network 101. The alternate download path mayfor example, be used to load an encryption key onto the electronicdevice 201 through a direct, reliable and trusted connection to therebyprovide secure device communication.

The electronic device 201 includes a first camera 253 a and a secondcamera 253 b. The cameras 253 a, 253 b are capable of capturing cameradata, such as images, in the form of still photo and/or motion data. Thecamera data may be captured in the form of an electronic signal which isproduced by an image sensor associated with each of the cameras 253 a,253 b. The cameras 253 a, 253 b may be collectively capable of capturingstereoscopic images for display. That is, the cameras 253 a, 253 b maycollectively produce stereoscopic image data which defines astereoscopic image. Stereoscopic images may provide an illusion of depthin the images to a user (i.e. three dimensional (3-D) images).

To produce stereoscopic image data, the cameras 253 a, 253 b areoriented in generally the same direction. For example, as will bediscussed below, in at least some embodiments, the cameras 253 a, 253 bmay both be rear-facing. That is, the cameras 253 a, 253 b are, in someembodiments, both arranged to capture an image of a subject on a rearside of the electronic device 201.

The first camera 253 a and the second camera 253 b are mounted in spacedrelation to one another. That is, there may be a space between thecameras 253 a, 253 b. The first camera 253 a and the second camera 253 bare spaced apart in order to capture stereoscopic images. The distancebetween the cameras may be approximately the same as the distancebetween a standard person's eyes (which is around 6.35 cm). In at leastsome example embodiments, the distance between the cameras may besmaller or larger than the distance between a person's eyes. A largerdistance between the cameras may allow for capturing stereoscopic imagesthat produces an enhanced effect of stereoscopy for a user.

Since the cameras 253 a, 253 b are offset from one another, so too arethe images which they produce. That is, the first camera 253 a capturesa first image, and the second camera 253 b captures a second image thatis offset from the first image. The first image is captured at adifferent position than the second image due to the positioning of thefirst camera 253 a and the second camera 253 b. The offset between thefirst image and the second image is defined by the distance (referred toas the intra-axial distance) between the first camera 253 a and thesecond camera 253 b.

Accordingly, stereoscopic image data may be produced by the cameras 253a, 253 b. Such stereoscopic image data includes two images—a first imageproduced using the first camera 253 a, and a second image produced usingthe second camera 253 b. The first image and the second image may becaptured at the same time or approximately the same time, but may beoffset in appearance due to the spacing between the cameras 253 a, 253b.

The cameras 253 a, 253 b may be both configured as front facing camerasor may both be configured as rear facing cameras. Front facing camerasare provided by cameras 253 a, 253 b which are located to obtain imagesnear a front face of the electronic device 201. The front face istypically the face on which a main display 204 is mounted. That is, whenfront facing cameras are provided on the electronic device 201, thedisplay 204 is configured to display content which may be viewed from aside of the electronic device 201 where the cameras 253 a, 253 b aredirected.

The cameras 253 a, 253 b of the front facing cameras may be locatedabove or below the display 204. In at least some example embodiments,the camera 253 a, 253 b may be provided in a central location relativeto the display 204 to facilitate image acquisition of a face. Forexample, the cameras 253 a, 253 b may be located centrally above thedisplay 204.

Rear facing cameras are provided by cameras 253 a, 253 b which arelocated to obtain images of a subject near a rear face of the electronicdevice 201. The rear face is typically a face which does not include themain display 204 of the electronic device 201. In at least someembodiments, the electronic device 201 may operate in one operating modein which the display 204 acts as a viewfinder displaying image dataassociated with rear facing cameras.

The rear facing cameras may obtain images which are not within the fieldof view of the front facing cameras. The field of view of the frontfacing and rear facing cameras may generally be in opposing directions.

While FIG. 1 illustrates a first camera 253 a and a second camera 253 b,the electronic device 201 may include more than two cameras 253 a, 253b. For example, in at least some example embodiments, the electronicdevice 201 may include both front facing cameras and rear facingcameras.

In at least some example embodiments, the electronic device 201 isprovided with a service routing application programming interface (API)which provides an application with the ability to route traffic througha serial data (i.e., USB) or Bluetooth® (Bluetooth® is a registeredtrademark of Bluetooth SIG, Inc.) connection to a host computer systemusing standard connectivity protocols. When a user connects theirelectronic device 201 to the host computer system via a USB cable orBluetooth® connection, traffic that was destined for the wirelessnetwork 101 is automatically routed to the electronic device 201 usingthe USB cable or Bluetooth® connection. Similarly, any traffic destinedfor the wireless network 101 is automatically sent over the USB cable orBluetooth® connection to the host computer system for processing.

The electronic device 201 also includes a battery 238 as a power source,which is typically one or more rechargeable batteries that may becharged for example, through charging circuitry coupled to a batteryinterface 236 such as the data port 252. The battery 238 provideselectrical power to at least some of the electrical circuitry in theelectronic device 201, and the battery interface 236 provides amechanical and electrical connection for the battery 238. The batteryinterface 236 is coupled to a regulator (not shown) which provides powerV+ to the circuitry of the electronic device 201.

The electronic device 201 stores data 227 in an erasable persistentmemory, which in one example embodiment is the flash memory 244. Invarious example embodiments, the data 227 includes service dataincluding information used by the electronic device 201 to establish andmaintain communication with the wireless network 101. The data 227 mayalso include user application data such as email messages, address bookand contact information, camera data, calendar and schedule information,notepad documents, image files, and other commonly stored userinformation stored on the electronic device 201 by its user, and otherdata. The data 227 stored in the persistent memory (e.g. flash memory244) of the electronic device 201 may be organized, at least partially,into one or more databases or data stores. The databases or data storesmay contain data items of the same data type or associated with the sameapplication. For example, email messages, contact records, and taskitems may be stored in individual databases within the memory.

The electronic device 201 may, in at least some example embodiments, bea mobile communication device which may provide two principal modes ofcommunication: a data communication mode and a voice communication mode.In the data communication mode, a received data signal such as a textmessage, an email message, or a web page download will be processed bythe communication subsystem 211 and input to the processor 240 forfurther processing. For example, a downloaded web page may be furtherprocessed by a browser application or an email message may be processedby an email messaging application and output to the display 204. A userof the electronic device 201 may also compose data items, such as emailmessages, for example, using the input devices in conjunction with thedisplay 204. These composed items may be transmitted through thewireless communication subsystem 211 over the wireless network 101.

In the voice communication mode, the electronic device 201 providestelephony functions and operates as a typical cellular phone. Theoverall operation is similar to the data communication mode, except thatthe received signals would be output to the speaker 256 and signals fortransmission would be generated by a transducer such as the microphone258. The telephony functions are provided by a combination ofsoftware/firmware (i.e., a voice communication module) and hardware(i.e., the microphone 258, the speaker 256 and input interfaces 206).Alternative voice or audio I/O subsystems, such as a voice messagerecording subsystem, may also be implemented on the electronic device201. Although voice or audio signal output is typically accomplishedprimarily through the speaker 256, the display 204 may also be used toprovide an indication of the identity of a calling party, duration of avoice call, or other voice call related information.

The processor 240 operates under stored program control and executessoftware modules 221 stored in memory such as persistent memory; forexample, in the flash memory 244. As illustrated in FIG. 1, the softwaremodules 221 include operating system software 223 and other softwareapplications 225.

The software applications 225 on the electronic device 201 may alsoinclude a range of additional applications including, for example, anotepad application, Internet browser application, voice communication(i.e. telephony) application, mapping application, or a media playerapplication, or any combination thereof. Each of the softwareapplications 225 may include layout information defining the placementof particular fields and graphic elements (e.g. text fields, inputfields, icons, etc.) in the user interface (e.g. the display 204)according to the application.

The software modules 221 or parts thereof may be temporarily loaded intovolatile memory such as the RAM 246. The RAM 246 is used for storingruntime data variables and other types of data or information, as willbe apparent. Although specific functions are described for various typesof memory, this is merely one example, and it will be appreciated that adifferent assignment of functions to types of memory could also be used.

A predetermined set of applications that control basic deviceoperations, including data and possibly voice communication applicationswill normally be installed on the electronic device 201 during or aftermanufacture. Additional applications and/or upgrades to the operatingsystem 223 or software applications 225 may also be loaded onto theelectronic device 201 through the wireless network 101, the auxiliaryI/O subsystem 250, the data port 252, the short-range communicationsubsystem 262, or other suitable device subsystem 264. The downloadedprograms or code modules may be permanently installed, for example,written into the program memory (i.e. the flash memory 244), or writteninto and executed from the RAM 246 for execution by the processor 240 atruntime.

The processor 240 may be electrically connected to the cameras 253 a,253 b to allow the processor 240 to receive electronic signalsrepresenting camera data from the cameras 253 a, 253 b.

In at least some embodiments, the software modules 221 may include oneor more camera applications 280 or software modules which are configuredfor handling the electronic signals representing camera data from thecameras 253 a, 253 b. The camera application 280 may, for example, beconfigured to provide a viewfinder on the display 204 by displaying, inreal time or near real time, images defined in the electronic signalsreceived from the cameras 253 a, 253 b. The camera application 280 mayalso be configured to capture images or videos by storing images orvideos defined by the electronic signals received from the cameras 253a, 253 b. For example, the camera application 280 may be configured tostore the images or videos to memory, for example the flash memory 244,of the electronic device 201. The images may be stored in variousformats including JPEG, RAW, BMP etc.

The camera application 280 may also be configured to control options orpreferences associated with the cameras 253 a, 253 b. For example, thecamera application 280 may be configured to control camera lensapertures and/or shutter speeds associated with the cameras 253 a, 253b. The control of such features may, in at least some embodiments, beautomatically performed by the camera application 280 based on outputreceived from a light exposure meter.

In at least some example embodiments, the camera application 280 may beconfigured to control flashes associated with the cameras 253 a, 253 band/or to control zooms associated with the cameras 253 a, 253 b. In atleast some example embodiments, the camera application 280 is configuredto provide digital zoom features. The camera application 280 may providedigital zoom features by cropping an image down to a centered area withthe same aspect ratio as the original. In at least some exampleembodiments, the camera application 280 may interpolate within thecropped image to bring the cropped image back up to the pixel dimensionsof the original. The camera application 280 may, in at least someexample embodiments, provide image stabilization for the cameras 253 a,253 b. Image stabilization may reduce blurring associated with movementof the cameras 253 a, 253 b.

In at least some embodiments, the camera application 280 may beconfigured to focus the cameras 253 a, 253 b on an object (i.e. anidentifiable item, such as an individual or thing). More particularly,the camera application 280 may be configured to control actuators of thecameras 253 a, 253 b to move lenses (a lens may be comprised of one ormore lens elements) in the camera 253 a, 253 b relative to image sensorsin the cameras 253 a, 253 b. For example, when capturing images ofobjects which are very close to the cameras 253 a, 253 b (e.g. object atmacro position), the camera application 280 may control the actuators tocause the actuators to move the lenses away from the image sensors.

In at least some embodiments, the camera application 280 may provide forauto-focusing capabilities. For example, the camera application 280 mayanalyze received electronic signals to determine whether the imagescaptured by the cameras are in focus. That is, the camera application280 may determine whether the images defined by electronic signalsreceived from the cameras 253 a, 253 b are focused properly on theobject of such images. The camera application 280 may, for example, makethis determination based on the sharpness of such images. If the cameraapplication 280 determines that the images are not in focus, then thecamera application 280 may cause the processor 240 to adjust theactuators which controls the lenses to focus the images.

In at least some example embodiments, the camera application 280 (oranother application 225) may be configured to process electronic signalsof images captured by cameras 253 a, 253 b for stereoscopic display.That is, the camera application 280 may analyze stereoscopic imagesdefined by the electronic signals received from the cameras 253 a, 253b.

In at least some embodiments, the camera application 280 may beconfigured to display a first image (obtained from a first camera 253 a)and a second image (obtained from a second camera 253 b) separately to aleft eye and a right eye of a user viewing the display 204. That is, thefirst image may be displayed to only the left eye of the user and thesecond image may be displayed to only the right eye of the user. Theoffset between the first image and the second image may provideinformation to the brain of a user to give the perception of depth whenthe first image and the second image are combined (i.e. stereoscopicimages), and viewed by the user.

Accordingly, in one operating mode, the camera application 280 may beconfigured to display stereoscopic images defined by stereoscopic imagedata to a user via the display 204 to achieve a stereoscopic effect. Thecamera application 280 may employ any one of a number of stereoscopicdisplay techniques in order to achieve the stereoscopic effect. In atleast some example embodiments, the stereoscopic images are displayed asalternate-frame sequencing. Alternative-frame sequencing occurs when thedisplay 204 alternatively displaying a different image for each eye of auser. That is, a first image for the left eye is displayed, and then asecond image for the right eye is displayed. In such exampleembodiments, a user may wear 3-D liquid crystal glasses in order toexperience the effect of stereoscopy when viewing the stereoscopicimages. In some embodiments, the 3-D liquid crystal glasses may includea communication subsystem for receiving timing signals from theelectronic device 201. The timing signals control the visibility of the3-D liquid crystal glasses. For example, the timing signals may allowthe 3-D liquid crystal glasses to alternatively darken over one eye andthen the other eye, in synchronization with a refresh rate (i.e. therate at which the images are alternatively displayed) of the display204. A user wearing a 3-D liquid crystal glass may view a first imagewith only the left eye and then alternatively view a second image withonly the right eye, experiencing the effect of stereoscopy.

In some example embodiments, the stereoscopic images are displayedthrough polarizing filters on the display 204. The polarizing filtersare optical filters that allow light of a specific polarization to passthrough and prevent light of other polarization to pass through. Thepolarizing filters may be placed underneath the display 204. Thestereoscopic images are displayed superimposed through the polarizingfilters on the display 204. In such example embodiments, a user may wear3-D polarized glasses in order to experience the effect of stereoscopywhen viewing the stereoscopic images. The 3-D polarized glasses containa pair of different polarizing filters. Each polarizing filter on the3-D polarized glass passes light that is similarly polarized to thelight passing through the polarizing filters on the display 204, andblocks light that is not similarly polarized to the light passingthrough the polarizing filters on the display 204. For example, a 3-Dpolarizing glass with a blue light polarizing filter for a first lens,and an alternate red light polarizing filter for the a second lens,allows only blue light transmitted from the display 204 to pass throughthe first lens and only red light transmitted from the display 204 topass through the second lens. A user wearing a 3-D polarized glass mayview the superimposed images simultaneously, experiencing the effect ofstereoscopy.

In other example embodiments, the stereoscopic images are displayed asauto-stereoscopy. Auto-stereoscopy provides a user viewing stereoscopicimages to experience the effect of stereoscopy without having to wearany form of 3-D glasses. In such example embodiments, the imagesdisplayed on the display 204 are split directionally into a user's eyes.That is, a first image is only viewed by a user's left eye and a secondimage is only viewed by a user's right eye. In such example embodiments,a parallax barrier may be implemented to split the view of the images.The parallax barrier may overlay the display 204, and include a seriesof slits allowing each eye of a user to view a specific image. A userviewing the images may experience the effect of stereoscopy.

It will be appreciated that stereoscopic images may be presented by theelectronic device 201 on the display 204 in order for a user toexperience the effect of stereoscopy when viewing the images by otherexample embodiments not specifically described herein.

In at least some example embodiments, the camera application 280 may beconfigured to allow for simultaneous operation of the cameras 253 a, 253b. That is, the camera application 280 may allow the cameras 253 a, 253b to simultaneously capture images. For example, a user may input aninstruction to the electronic device 201 via an input interface 206instructing the electronic device 201 to capture an image. In response,the electronic device 201 may simultaneously capture an image using boththe first camera 253 a and the second camera 253 b; a first image iscaptured using the first camera 253 a and a second image is capturedusing the second camera 253 b. The first image and the second image maybe captured at approximately the same time. These images maycollectively form stereoscopic image data.

In at least some embodiments, the camera application 280 (or anotherapplication 225) may be configured to allow selection of an identifiedobject in an image. Objects may be identified by the camera application280 (or another application 225) using stereoscopic image data (whichincludes a first image obtained from a first camera 253 a and a secondimage obtained from a second camera 253 b). In some embodiments, inresponse to receiving the stereoscopic image data from the cameras 253a, 253 b, the camera application 280 analyzes the first image and thesecond image to identify an object in the first image. The cameraapplication 280 (or another application, such as an image editingapplication) may be configured to then display the first image as a twodimensional (i.e. non stereoscopic) image, and to allow selection of theidentified object in the first image. Specific functions and features ofthe camera application 280 will be discussed in greater detail belowwith reference to FIGS. 4 to 6.

While the embodiment discussed above includes a processor 240 coupledwith a camera application 280 which collectively act as an image signalprocessor to provide image related functions such as auto-focusing, inother example embodiments (not shown), another processor such as adedicated image signal processor, may provide some or all of thesefunctions.

In at least some example embodiments, the operating system 223 mayperform some or all of the functions of the camera application 280. Inother example embodiments, the functions or a portion of the functionsof the camera application 280 may be performed by one or more otherapplications. For example, in at least some embodiments, themanipulation functions and/or the identification of objects (which willbe described below in greater detail with reference to FIGS. 4 to 6) maybe performed within an image editing application (not shown). The imageediting application may be an application which allows a user to edit animage. The image editing application may contain processor executableinstructions which, when executed, cause the processor 240 to performobject manipulation and/or object identification.

Further, while the camera application 280 has been illustrated as astand-alone application, in other example embodiments, the cameraapplication 280 may be implemented as part of the operating system 223or another application 225. Furthermore, in at least some exampleembodiments, the functions of the camera application 280 may be providedby a plurality of software modules. In at least some exampleembodiments, these software modules may be divided among multipleapplications.

Example Smartphone Electronic Device

As discussed above, the electronic device 201 may take a variety offorms. For example, in at least some example embodiments, the electronicdevice 201 may be a smartphone.

Referring now to FIG. 2, a front view of an example electronic device201 which is a smartphone 100 is illustrated. The smartphone 100 is amobile phone which offers more advanced computing capability than abasic non-smartphone cellular phone. For example, the smartphone 100 mayhave the ability to run third party applications which are stored on thesmartphone.

The smartphone 100 may include the components discussed above withreference to FIG. 1 or a subset of those components. The smartphone 100includes a housing 106 which houses at least some of the componentsdiscussed above with reference to FIG. 1.

In the example embodiment illustrated, the smartphone 100 includes adisplay 204, which may be a touchscreen display which acts as an inputinterface 206. The display 204 is disposed within the smartphone 100 sothat it is viewable at a front side 102 of the smartphone 100. That is,a viewable side of the display 204 is disposed on the front side 102 ofthe smartphone. In the example embodiment illustrated, the display 204is framed by the housing 106.

The example smartphone 100 also includes other input interfaces 206 suchas one or more buttons, keys or navigational input mechanisms. In theexample embodiment illustrated, at least some of these additional inputinterfaces 206 are disposed for actuation at a front side 102 of thesmartphone.

The example smartphone 100 also includes rear facing cameras 253 a, 253b on a rear side 104 of the smartphone 100 which are illustrated withreference to FIG. 3, showing a rear view of the smartphone 100. That is,the rear facing cameras 253 a, 253 b are located on a side of thesmartphone 100 which does not include the display 204. The rear facingcameras 253 a, 253 b may include a first camera 253 a and a secondcamera 253 b (as illustrated in FIG. 1).

The rear facing cameras may be located on a central axis of thesmartphone 100 which is located midway between a top side 181 and abottom side 183 of the electronic device 201 when the electronic device201 is held in a landscape orientation where its width is longer thanits height. The rear facing cameras 253 a, 253 b are located so thatthey may capture images of objects which are located in the rear ofand/or surrounding the rear side 104 of the electronic device 201. In atleast some example embodiments, the electronic device 201 may operate inone operating mode in which the display 204, on the front side 102 ofthe electronic device 201, acts as a viewfinder displaying image dataassociated with the rear facing cameras 253 a, 253 b on the rear side104 of the electronic device 201.

The rear facing cameras 253 a, 253 b are spaced apart by a distance 142in order to capture stereoscopic images. In at least some exampleembodiments, the distance 142 between the rear facing cameras 253 a, 253b is greater than the distance 142 illustrated in FIG. 3. For example,the first camera 253 a may be located at one end of the rear side 104(e.g. the leftmost end illustrated in FIG. 3) of the electronic device201 and the second camera 253 b may be located at the other end of therear side 104 of the electronic device 201 (e.g. the rightmost endillustrated in FIG. 3). A greater distance between the cameras 253 a,253 b may allow for the capture stereoscopic images that produce anenhanced effect of stereoscopy for a user of the electronic device 201.

In at least some example embodiments, the smartphone 100 may alsoinclude one or more front facing cameras instead of, or in addition to,the rear facing cameras 253 a, 253 b. The front facing cameras may belocated on the front side 102 of the smart phone 100. The front facingcameras are located so that they may capture images of objects which arelocated in front of and/or surrounding the front side 102 of thesmartphone 100.

Allowing Selection of an Identified Object

Referring now to FIG. 4, a flowchart of an example method 400 ofallowing selection of an identified object in an image is illustrated.The electronic device 201 may be configured to perform the method 400 ofFIG. 4. In at least some example embodiments, the processor 240 of theelectronic device 201 is configured to perform the method 400 of FIG. 4.One or more applications 225 or modules on the electronic device 201 maycontain computer readable instructions which cause the processor 240 ofthe electronic device 201 to perform the method 400 of FIG. 4. In atleast some example embodiments, the camera application 280 stored inmemory of the electronic device 201 is configured to perform the method400 of FIG. 4. More particularly, the camera application 280 may containcomputer readable instructions which, when executed, cause the processor240 to perform the method 400 of FIG. 4. It will be appreciated that themethod 400 of FIG. 4 may, in at least some example embodiments, beprovided by other software applications or modules apart from thosespecifically discussed above; for example the operating system 223.Accordingly, any features which are referred to as being performed bythe electronic device 201 may be performed by any one or more of thesoftware applications or modules referred to above or other softwaremodules.

In at least some example embodiments, at least some of the method 400 ofFIG. 4 may be performed by or may rely on other applications 225 ormodules. For example, in some embodiments, an image editing applicationmay be configured to perform the method 400 of FIG. 4. That is, an imageediting application may contain computer readable instructions which,when executed, cause the processor 240 to perform the method 400 of FIG.4.

Referring to FIG. 4, a flowchart of an example method of allowingselection of an object in an image is illustrated. At 402, theelectronic device 201 receives stereoscopic image data. The stereoscopicimage data includes a first image obtained from a first camera 253 a anda second image obtained from a second camera 253 b.

In at least some example embodiments, the stereoscopic image data may bereceived in response to receiving an instruction to capture an image onthe first camera 253 a (and/or an instruction to capture an image on thesecond camera 253 b). In at least some embodiments, the electronicdevice 201 may cause the first camera 253 a and the second camera 253 bto capture stereoscopic image data in response to the receipt of aninstruction from a user to capture a two-dimensional (i.e.non-stereoscopic) image. That is, even where a user instructs the deviceto capture a two-dimensional (non-stereoscopic) image, the electronicdevice 201 may capture stereoscopic image data. In at least someembodiments in which the camera captures stereoscopic image data inresponse to the receipt of an instruction to capture a two-dimensionalimage, the stereoscopic image data may not be used for the purposes ofdisplaying an image in a stereoscopic mode. Rather, in at least somesuch embodiments, one of the captured images in the stereoscopic imagedata may be displayed in a two-dimensional (i.e. non-stereoscopic) modeand the other of the captured images may be used to analyze thedisplayed two-dimensional image. For example, as will be explainedbelow, the second image may be used to identify objects in the firstimage.

Accordingly, in at least some embodiments, stereoscopic image data maybe received in response to the receipt of an instruction to capture anon-stereoscopic image. The instruction may be received, for example,from an input interface 206 associated with the electronic device 201.For example, the instruction may be received from a navigational inputdevice, such as a trackball, track pad or touchscreen display.

In at least some embodiments, in response to receiving an instruction tocapture a non-stereoscopic image and/or in response to receiving aninstruction to capture a stereoscopic image, the first camera 253 a istriggered to capture a first image and the second camera 253 b istriggered to capture a second image. In at least some exampleembodiments, the first image and the second image are capturedsimultaneously. That is, the first camera 253 a captures the first imageat the same time as the second camera 253 b captures the second image.

In some example embodiments, the first image is not capturedsimultaneously as the second image. There may be a time differencebetween the capture of the first image by the first camera 253 a and thesecond image by the second camera 253 b. For example, the first camera253 a may capture the first image and subsequently the second camera 253b captures the second image. However, in order to ensure thestereoscopic image data is not compromised due to moving of the cameraor subject, the time delay between the acquisition of the first imageand the acquisition of the second image is small.

Accordingly, in some embodiments, at 402, stereoscopic image data isreceived from the cameras 253 a, 253 b. In other embodiments, theelectronic device 201 may receive the stereoscopic image data frommemory; for example from flash memory 244 of the electronic device 201.For example, the electronic device 201 may retrieve the first image andthe second image from the data area 227 of memory. In such exampleembodiments, the first image and the second image may have been storedin memory of the electronic device 201 after capture of the first imageby the first camera 253 a and the second image by the second camera 253b.

In at least some example embodiments, the first image and the secondimage are two dimensional (2-D) images. For example, the first image andthe second image may only include a length and a width component along aplanar surface. The first image and the second image may not include adepth component along a planar surface.

After receiving the stereoscopic image data, the electronic device 201,at 404, may analyze the first image and the second image to identify anobject in the first image. In at least some example embodiments,analyzing may include identifying one or more boundary associated withthe object in the first image. An object may include an identifiableitem, such as an individual or a thing, with one or more identifiableboundary within an image. For example, an object may include a personwithin an image of a landscape at the background. The electronic device201 may identify the boundaries of the person within the image of thelandscape. The boundaries may, in at least some embodiments, represent aperimeter of an object. That is, the boundary may be a continuous linewhich forms the boundary of a geometric figure (i.e. the object).

In at least some example embodiments, identifying boundaries may includeperforming image segmentation. Image segmentation is a process ofpartitioning an image defined by electronic signals into multiplesegments, such as pixels (a pixel is the smallest unit of an image thatcan be represented, and is a sample of the image. Each pixel has its ownaddress, and the address may correspond to its coordinates in relationto the image). A label is assigned to every segment in the image suchthat same labels share certain visual characteristics, for example,colour, intensity, texture, depth, etc. The image segmentation resultsin a set of segments that collectively cover the entire image. Each ofthe segments within a set are similar with respect to a certain visualcharacteristic resulting in differentiating sets of visualcharacteristics within the image. The differentiating sets may be usedto locate boundaries of an object in an image. For example, the regionof an object in an image may be identified as having a different set ofvisual characteristics than the rest of the regions of the image. Imagesegmentation may be applied to multiple images including stereoscopicimages. The images are segmented and the resulting segments may be usedto create 3-D reconstructions of detected objects within the images bycalculating the size, density, etc. of the detected objects.

In at least example embodiments, in performing image segmentation, theelectronic device 201 may use the second image to obtain depthinformation to identify the object in the first image. For example, theelectronic device 201 may perform image segmentation based on depthinformation. That is, the electronic device 201 calculates depth-basedcharacteristics and applies these characteristics as a pixel label toeach pixel of a segmented first image. The depth based characteristicsmay be calculated by using a segmented first image and a segmentedsecond image to obtain depth information of objects within the images.The object boundary in the first image may then be identified as theregion of the object may have a different set of depth basedcharacteristics than the rest of the regions of the image.

In at least some example embodiments, the electronic device 201 mayperform edge detection in order to identify the one or more boundariesof the object. Edge detection is a process of identifying points in animage at which the image brightness has discontinuities. Discontinuitiesin the image brightness may correspond to discontinuities in depth,illumination, etc. of the image. Identification of the points may resultin connecting lines that indicate the boundaries of objects in an imageas the boundaries are areas often associated with discontinuities inimage brightness in an image.

In at least some example embodiments, in performing edge detection, theelectronic device 201 may use the second image to obtain depthinformation to identify the object in the first image. For example, theelectronic device 201 may use the first image and the second image toobtain depth information of objects within the images. The depthinformation may then be used to identify points in the first imagedefining discontinuities in brightness in the first image. Theidentified points may form the boundaries of the object in the firstimage.

In at least some example embodiments, the electronic device 201 maydiscard the second image after analyzing the first image and the secondimage. For example, in at least some example embodiments, the electronicdevice 201 may permanently remove the second image from the electronicdevice 201. That is, the second image may no longer be retrievable by auser of the electronic device 201. In such example embodiments, if thesecond image is already stored in the electronic device 201 (forexample, in the memory of the electronic device 201) prior to analyzingthe first image and the second image, the camera application 280 maypermanently delete the second image from the electronic device 201. Thatis, after having used the second image to identify one or more objectsin the first image, the second image may be discarded to save space onthe electronic device.

In at least example embodiments, the electronic device 201 may notpermanently remove the second image from the electronic device 201. Insome such example embodiments, the second image may be sent to anapplication, such as a recycle bin, which temporarily stores removedfiles. The removed files may be stored in the data area of memory beingaccessible by the recycle bin or other applications. A user may stillretrieve the removed second image by accessing the recycle bin. In suchexample embodiments, if the second image is already stored in theelectronic device 201 (for example, in the memory of the electronicdevice 201) prior to analyzing the first image and the second image, thecamera application 280 sends the second image to the recycle bin.

At, at 406, the electronic device 201 displays the first image. Thefirst image may be displayed on the display 204 of the electronic device201. When displayed, the first image may occupy the complete display 204or may occupy a portion of the display 204.

In at least some embodiments, the first image is displayed as anon-stereoscopic image. That is, the first image is displayed as atwo-dimensional image. During the display of the first image, the secondimage is not used to provide a stereoscopic effect. That is, the secondimage is not displayed.

The electronic device 201 then, at 408, allows selection of theidentified object in the first image. The identified object may bedefined by the boundaries associated with the object in the first image.That is, the electronic device 201 may allow selection of the identifiedobject in the first image using boundaries identified at 404. That is,the electronic device 201 may define the area within the boundaries asbeing selectable. Selection of the area within the boundaries (e.g.using an input interface 206 such as a touchscreen) may then beinterpreted as being a selection of the object associated with theboundaries.

In at least some example embodiments, after allowing selection of theidentified object in the first image, the electronic device 201 mayreceive (at 410) an instruction for copying the identified object(copying is the duplication of information). For example, theinstruction may be an instruction to duplicate the identified objectwithout removing the identified object from the first image. In at leastsome example embodiments, the instruction is an instruction to copy thewhole object defined by its boundaries in the first image. The copyinginstruction may be received, for example, from an input interface 206associated with the electronic device 201. For example, the copyinginstruction may be received from a navigational input device, such as atrackball, track pad or touchscreen display, or a physical keyboardassociated with the electronic device 201 to instruct the electronicdevice 201 to copy the identified object in the first image.

In response to receiving the instruction, in at least some exampleembodiments, at 412, the electronic device 201 copies the identifiedobject to an application. For example, the identified object may beduplicated without being removed from the first image. In at least someexample embodiments, the object may be copied to an application thattemporarily stores copied data such as files, images, objects etc., suchas a clipboard.

In at least some example embodiments, the identified object may befurther copied from the clipboard to other applications. For example,the identified object may be copied to an application that is capable ofreceiving object formats (such as JPEG, RAW, BMP etc.). For example, theapplication may include a word processing application, an image editingapplication, etc. In at least some example embodiments, the applicationmay be located on a different device, such as a server. In such exampleembodiments, the electronic device 201 may interact with the server viathe device subsystems such as the wireless communication subsystem 211to copy the identified object to the application hosted by the server.For example, the electronic device 201 may copy the identified object toan online image repository, such as Picasa Web Albums™ application byGoogle, Inc. which may be hosted by a web server accessible via theinternet.

While FIG. 4 described the use of a copy instruction for copying theobject, in other embodiments, a move instruction (which may also bereferred to as a “cut” instruction may be used to place the object inanother location (such as in another application). Much like the copyinstruction, when a move instruction is received, the object may becopied to another location. That is, 412 may be performed. However,unlike the copy instruction, when a move instruction is received, theobject is removed from the first image when it is copied to the otherlocation.

Manipulating the First Image

After an object is identified in an image, the object may, in someembodiments, be manipulated. In at least some example embodiments,manipulating may include cropping the identified object, moving theidentified object and/or associating a caption with the identifiedobject. Examples of such manipulation will now be described.

Reference is now made to FIG. 5, which illustrates a flowchart ofanother example method 500 of allowing selection of an identifiedobject. The electronic device 201 may be configured to perform themethod 500 of FIG. 5. In at least some example embodiments, theprocessor 240 of the electronic device 201 is configured to perform themethod 500 of FIG. 5. One or more applications 225 or modules on theelectronic device 201 may contain computer readable instructions whichcause the processor 240 of the electronic device 201 to perform themethod 500 of FIG. 5. In at least some example embodiments, the cameraapplication 280 stored in memory of the electronic device 201 isconfigured to perform the method 500 of FIG. 5. More particularly, thecamera application 280 may contain computer readable instructions which,when executed, cause the processor 240 to perform the method 500 of FIG.5. It will be appreciated that the method 500 of FIG. 5 may, in at leastsome example embodiments, be provided by other software applications ormodules apart from those specifically discussed above; for example theoperating system 223. Accordingly, any features which are referred to asbeing performed by the electronic device 201 may be performed by any oneor more of the software applications or modules referred to above orother software modules.

In at least some example embodiments, at least some of the method 500 ofFIG. 5 may be performed by or may rely on other applications 225 ormodules. For example, in some embodiments, an image editing applicationmay be configured to perform the method 500 of FIG. 5. That is, an imageediting application may contain computer readable instructions which,when executed, cause the processor 240 to perform the method 500 of FIG.5.

Referring to FIG. 5, a flowchart of an example method of allowingselection of an object in an image is illustrated. The method 500includes, at 402, receiving stereoscopic image data and at 404,analyzing the first image and the second image to identify an object inthe first image. The method also includes, at 406, displaying the firstimage, and, at 408, allowing selection of the identified object. 402,404, 406 and 408 are discussed in greater detail above with reference toFIG. 4.

After the object is identified, at 502, the electronic device 201receives a selection of the identified object. The selection, may bereceived, for example, from an input interface 206 associated with theelectronic device 201. For example, the selection may be received from anavigation input device, such as a trackball, track pad or touchscreendisplay or a physical keyboard associated with the electronic device201, to select the identified object. For example, in some embodiments,a user may select an object by using an input interface 206 to interactwith a portion of the object which is inside the boundaries of thatobject. That is, selection of an object may be caused when a userselects any portion of the first image which is associated with thatobject.

In at least some example embodiments, the selection of the identifiedobject includes the selection of the identified object defined by theboundaries associated with identified the object in the first image.That is, the area of the image within the boundaries associated with theidentified object is selected, and the area of the image outside of theboundaries associated with the identified object is not selected.

In at least some example embodiments, selection of the identified objectmay graphically change the display of the identified object in the firstimage displayed on the display 204. For example, a selection of theassociated interface element may graphically bolden, color, highlight oroutline the first identified object.

After receiving selection of the identified object, the electronicdevice 201, at 504, manipulates the first image based on the selectionof the identified object. That is, the electronic device 201 may performan operation on the first image based on the object.

Manipulating may include varying visual features associated with thefirst image. That is, the first image may visually appear differentafter manipulation of the first image. The selected object may either bevaried during the manipulation or excluded from variation during themanipulation. That is, in some embodiments, the object may be moved,rotated, resized or may have an effect applied to it (for example, bychanging the color of the object, sharpening the object, darkening theobject, applying a black and white effect to the object, applying acolor filter to the object, applying a sepia effect to the object). Insome embodiments, the object may be excluded from variation. That is, abackground portion of the image (which is the portion of the image whichdoes not include the object) may be varied and the object may beprotected from the varying. For example, an effect may be applied toportions of the first image which do not include the object (forexample, by changing the color of the background, sharpening thebackground, making the background blurry, darkening the background,applying a black and white effect to the background, applying a colorfilter to the background, applying a sepia effect to the background,etc.). Similarly, in some embodiments, the object may be used as theboundary for a cropping operation. That is, the object may be used inorder to perform a crop operation. During a crop operation, the edges ofthe image may be cut based on the boundaries of the object.

The manipulation may be performed based on the boundaries of theselected object. That is, the boundaries may be used to define theportion of the image which will be manipulated. For example, in someembodiments only the portion of the image which is within the boundariesidentified for an object will be manipulated. In such embodiments, theportion of the image which is outside of the boundaries may be excludedfrom manipulation. Thus, the boundaries may enable the object to bemanipulated and the background portion of the image to be excluded.

The manipulation may occur in response to receiving specificinstructions for manipulation. For example, the selected identifiedobject may be cropped in the first image in response to the electronicdevice 201 receiving a cropping instruction. The instructions formanipulation may be received from an input interface 206 such as anavigational input device.

Accordingly, instructions may be received from a user (i.e. via an inputinterface 206) which instructs the electronic device 201 to perform aspecific type of manipulation. For example, an instruction may bereceived at the electronic device 201 instructing the electronic deviceto: crop the first image based on the object, remove the identifiedobject from the first image, move the identified object to anotherlocation in the image, assign the object to a specific layer within theimage, apply an effect to the object (for example, by changing the colorof the object, sharpening the object, darkening the object, applying ablack and white effect to the object, applying a color filter to theobject, applying a sepia effect to the object), rotating the object,and/or associating a caption with the object. Instructions for othertypes of manipulation of the object may be received in otherembodiments.

In some embodiments, at 504, the electronic device 201 may manipulatethe first image based on the selected object in accordance with userinstructions.

In at least some example embodiments, the manipulated first image may bestored in the memory; for example the flash memory 244, of theelectronic device 201.

An example image and object therein will now be discussed with referenceto FIG. 6. FIG. 6 shows an example image displayed on the smartphone 100referred to in FIGS. 2 and 3. The image may be a first image 602obtained from a first camera 253 a provided by the electronic device201. The first image includes a background 604 and an identified object606 (for example, the car is the identified object 606, and the tree,the road and the remaining portion of the image form the background604). The identified object 606 is defined by its boundaries within thebackground 604 of the first image 602.

The electronic device 201 allows selection of the identified object 606in the first image 602. For example, in some embodiments, the object maybe selected using a touchscreen display, or another input interface 206.The selection, for example, may be received by a finger 608 interactingwith the display 204, which is a touchscreen display. The selection ofthe identified object 606 may occur when an area within the boundariesassociated with the identified object 606 in the first image 602 isselected. That is, the area of the first image 602 within the boundariesassociated with the identified object 606 is selected, and the area ofthe first image outside of the boundaries associated with the identifiedobject 606 is not selected (for example, the area of the car within theboundaries associated with the car is selected, and the area outside ofthe boundaries associated with the car is not selected i.e. thebackground 604 which includes the tree, the road and the remainingportion of the image is not selected). The selection may be made byselecting a portion of the object and the selection may graphicallychange the display of the identified object 606 on the display 204 (forexample, the car is selected and the selection boldens the boundaries ofthe car).

As noted above, the first image 602 may be manipulated based on theselection of the identified object 606. The manipulation may occur inresponse to receiving specific instructions for manipulation, forexample, from a user of the smartphone 100 via the touchscreen display.

In at least some example embodiments, manipulating may include croppingthe identified object 606 a in the first image 602. In at least someexample embodiments, cropping may include accentuating a specificportion of an image and removing portions of the image surrounding thespecific portion. For example, cropping may include accentuating theidentified object 606 and removing portions of the first image 602surrounding the identified object 606. That is, cropping the identifiedobject 606 may manipulate the first image 602 to accentuate theidentified object 606, and the manipulated first image may include theidentified object 606 as a greater portion in the manipulated image (forexample, the car is accentuated and takes up a greater portion of theimage in the manipulated first image than in the non-manipulated firstimage 602 when displayed on the display 204).

In at least some example embodiments, cropping may include varying theaspect ratio. The aspect ratio is the proportional relationship betweenthe height and the width of an image. For example, manipulating thefirst image 602 by cropping the identified object 606 may vary theaspect ratio of the manipulated first image from the non-manipulatedfirst image. That is, the manipulated first image may have a changedheight and width ratio than the non-manipulated first image 602.

In at least some example embodiments, manipulating may include movingthe identified object 606. The identified object 606 may be moved withinthe first image 602, or may be moved out of the first image 602. Forexample, in at least some example embodiments, the identified object 606may be moved from its present location in the first image 602 to anotherlocation in the first image 602. That is, the manipulated first imageincludes the identified object 606 in a different location than thenon-manipulated first image (for example, the car may be moved frombeing on the road in the non-manipulated first image 602 to adjacent tothe road, next to the tree in the manipulated first image).

In at least some example embodiments, the selected identified object maybe removed from the first image 602. That is, the manipulated firstimage no longer includes the identified object 606 that is included inthe non-manipulated first image 602 (for example, the car may no longerbe present in the manipulated first image).

In at least some example embodiments, the removed identified object 606may be moved to an application that temporary stores data such as theclipboard (i.e. a cut function). In such example embodiments, the storedidentified object 606 may be further moved to another application (i.e.a paste function) that is capable of receiving object formats (such asJPEG, RAW, BMP, etc.) for further manipulation. For example, theidentified object 606 may be moved to a paintbrush application andportions of the identified object may be graphically manipulated.

In at least some example embodiments, manipulating includes associatinga caption with the identified object in the first image. A caption mayinclude text (for example, text describing the identified object in thefirst image). Associating a caption with the identified object 606 mayinclude adding text to a portion of the image. For example, text may beadded to the first image 602. The text may be included near the portionof the identified object 606 or in a different portion of the firstimage 606 (for example, the manipulated first image may include acaption above the car stating “MY CAR”).

As noted in the discussion of FIG. 5 above, other types of manipulationsmay also be performed.

While the present application is primarily described in terms ofmethods, a person of ordinary skill in the art will understand that thepresent application is also directed to various apparatus such as anelectronic device 201 including a mobile communications device. Theelectronic device 201 includes components for performing at least someof the aspects and features of the described methods, which may be byway of hardware components (such as the memory 244 and/or the processor240), software or any combination of the two, or in any other manner.Moreover, an article of manufacture for use with the apparatus, such asa pre-recorded storage device or other similar computer readable mediumincluding program instructions recorded thereon, or a computer datasignal carrying computer readable program instructions may direct anapparatus to facilitate the practice of the described methods. It isunderstood that such apparatus, articles of manufacture, and computerdata signals also come within the scope of the present application.

The term “computer readable medium” as used herein means any mediumwhich can store instructions for use by or execution by a computer orother computing device including, but not limited to, a portablecomputer diskette, a hard disk drive (HDD), a random access memory(RAM), a read-only memory (ROM), an erasable programmable-read-onlymemory (EPROM) or flash memory, an optical disc such as a Compact Disc(CD), Digital Versatile Disc (DVD) or Blu-ray™ Disc, and a solid statestorage device (e.g., NAND flash or synchronous dynamic RAM (SDRAM)).

Example embodiments of the present application are not limited to anyparticular operating system, system architecture, mobile devicearchitecture, server architecture, or computer programming language.

The various embodiments presented above are merely examples and are inno way meant to limit the scope of this application. Variations of theinnovations described herein will be apparent to persons of ordinaryskill in the art, such variations being within the intended scope of thepresent application. In particular, features from one or more of theabove-described example embodiments may be selected to createalternative example embodiments including a sub-combination of featureswhich may not be explicitly described above. In addition, features fromone or more of the above-described example embodiments may be selectedand combined to create alternative example embodiments including acombination of features which may not be explicitly described above.Features suitable for such combinations and sub-combinations would bereadily apparent to persons skilled in the art upon review of thepresent application as a whole. The subject matter described herein andin the recited claims intends to cover and embrace all suitable changesin technology.

1. A method, implemented by a processor of an electronic device, forallowing selection of an object in an image, the method comprising:receiving image data, the image data including a first image obtainedfrom a first camera and a second image obtained from a second camera,the first camera and the second camera being oriented in a commondirection; identifying an object in the first image by analyzing thefirst image and the second image, wherein the analyzing includesidentifying one or more boundary associated with the object in the firstimage based on discontinuities in visual characteristics; and displayingan image based on one or both of the first image and the second image,the identified object in the first image being selectable.
 2. The methodof claim 1, further comprising: receiving a signal indicating aselection of the identified object; and manipulating the first imagebased on the selection of the identified object.
 3. The method of claim2, wherein manipulating includes cropping the identified object in thefirst image.
 4. The method of claim 2, wherein manipulating includesmoving the identified object.
 5. The method of claim 2, whereinmanipulating includes associating a caption with the identified objectin the first image.
 6. The method of claim 1, further comprising:receiving a signal indicating an instruction for copying the identifiedobject; and in response to the instruction, copying the identifiedobject to an application.
 7. The method of claim 1, wherein identifyingone or more boundary includes performing image segmentation.
 8. Themethod of claim 7, wherein performing image segmentation includes:partitioning the image data into image segments; assigning a visualcharacteristic label to each of the image segments; grouping the imagesegments based on the visual characteristic labels to identify groups ofimage segments sharing visual characteristics; and identifying the oneor more boundary based on the identified sets of visual characteristics.9. The method of claim 8, wherein each of the image segments is a pixel.10. The method of claim 1, wherein visual characteristics include atleast one of illumination, colour, intensity, and texture.
 11. Themethod of claim 1, the method further comprising: determining depthinformation of image segments based on the first image and the secondimage; and identifying the one or more boundary associated with theobject in the first image based on discontinuities in the visualcharacteristics and based on the depth information corresponding to thediscontinuities.
 12. The method of claim 1, wherein the image data isstereoscopic image data, the stereoscopic image data including the firstimage from the first camera and the second image from the second camera,wherein the first image and the second image are simultaneouslyobtained.
 13. The method of claim 12, wherein the stereoscopic imagedata is received in response to receiving an instruction to capture anon-stereoscopic image.
 14. The method of claim 1, further comprising:discarding the second image from the electronic device after analyzingthe first image and the second image.
 15. An electronic devicecomprising: a memory; a display; a first camera and a second camera, thefirst camera and the second camera being oriented in a common direction;and a processor coupled to the memory, the display, the first camera,and the second camera, the processor being configured to: receive imagedata, the image data including a first image obtained from a firstcamera and a second image obtained from the second camera; identify anobject in the first image by analyzing the first image and the secondimage, wherein the analyzing includes identifying one or more boundaryassociated with the object in the first image based on discontinuitiesin visual characteristics; and display an image based on one or both ofthe first image and the second image, the identified object in the firstimage being selectable.
 16. The electronic device of claim 15 whereinthe processor is further configured to: receive a signal indicatingselection of the identified object; and manipulate the first image basedon the selection of the identified object.
 17. The electronic device ofclaim 16, wherein manipulate includes crop the identified object in thefirst image.
 18. The electronic device of claim 16, wherein manipulateincludes move the identified object.
 19. The electronic device of claim16, wherein manipulate includes associate a caption with the identifiedobject in the first image.
 20. A non-transitory, tangible computerreadable storage medium encoded with computer executable instructions,wherein execution of the computer executable instructions is for:receiving image data, the image data including a first image obtainedfrom a first camera and a second image obtained from a second camera,the first camera and the second camera being oriented in a commondirection; identifying an object in the first image by analyzing thefirst image and the second image, wherein the analyzing includesidentifying one or more boundary associated with the object in the firstimage based on discontinuities in one or more visual characteristics;and displaying an image based on one or both of the first image and thesecond image, the identified object in the first image being selectable.